home *** CD-ROM | disk | FTP | other *** search
/ Mac Format 1995 June / MacFormat 25.iso / Shareware City / Developers / OutOfPhase1.1 Source / OutOfPhase Folder / FunctionList.h < prev    next >
Text File  |  1994-07-20  |  5KB  |  132 lines

  1. /* FunctionList.h */
  2.  
  3. #ifndef Included_FunctionList_h
  4. #define Included_FunctionList_h
  5.  
  6. /* FunctionList module depends on */
  7. /* MiscInfo.h */
  8. /* Audit */
  9. /* Debug */
  10. /* Definitions */
  11. /* Screen */
  12. /* EventLoop */
  13. /* StringList */
  14. /* Memory */
  15. /* CodeCenter */
  16. /* Array */
  17. /* FunctionObject */
  18. /* Alert */
  19. /* DataMunging */
  20. /* MainWindowStuff */
  21. /* BufferedFileInput */
  22. /* BufferedFileOutput */
  23. /* Files */
  24. /* Scrap */
  25.  
  26. #include "Screen.h"
  27. #include "EventLoop.h"
  28. #include "MainWindowStuff.h"
  29.  
  30. struct FunctionListRec;
  31. typedef struct FunctionListRec FunctionListRec;
  32.  
  33. /* forward declarations */
  34. struct FunctionObjectRec;
  35. struct MainWindowRec;
  36. struct CodeCenterRec;
  37. struct BufferedInputRec;
  38. struct BufferedOutputRec;
  39. struct FileType;
  40.  
  41. /* create a new function list */
  42. FunctionListRec*        NewFunctionList(struct MainWindowRec* MainWindow,
  43.                                             struct CodeCenterRec* CodeCenter, WinType* ScreenID,
  44.                                             OrdType XLoc, OrdType YLoc, OrdType Width, OrdType Height);
  45.  
  46. /* delete the function list and all of the function modules it contains */
  47. void                                DisposeFunctionList(FunctionListRec* FuncList);
  48.  
  49. /* change the location of the function list in the window */
  50. void                                SetFunctionListLocation(FunctionListRec* FuncList,
  51.                                             OrdType XLoc, OrdType YLoc, OrdType Width, OrdType Height);
  52.  
  53. /* redraw the list */
  54. void                                FunctionListRedraw(FunctionListRec* FuncList);
  55.  
  56. /* see if the specified coordinates falls inside the function list rectangle */
  57. MyBoolean                        FunctionListHitTest(FunctionListRec* FuncList,
  58.                                             OrdType XLoc, OrdType YLoc);
  59.  
  60. /* handle a mouse down event for the function list */
  61. void                                FunctionListDoMouseDown(FunctionListRec* FuncList, OrdType XLoc,
  62.                                             OrdType YLoc, ModifierFlags Modifiers);
  63.  
  64. /* called when the window becomes active */
  65. void                                FunctionListBecomeActive(FunctionListRec* FuncList);
  66.  
  67. /* called when the window becomes inactive */
  68. void                                FunctionListBecomeInactive(FunctionListRec* FuncList);
  69.  
  70. /* called when a selection is made in another list, so that this list */
  71. /* is deselected */
  72. void                                FunctionListDeselect(FunctionListRec* FuncList);
  73.  
  74. /* check to see if there is a selection in this list */
  75. MyBoolean                        FunctionListIsThereSelection(FunctionListRec* FuncList);
  76.  
  77. /* check to see if any of the function modules contained in this list need */
  78. /* to be saved */
  79. MyBoolean                        DoesFunctionListNeedToBeSaved(FunctionListRec* FuncList);
  80.  
  81. /* open an edit window for the selected function module */
  82. void                                FunctionListOpenSelection(FunctionListRec* FuncList);
  83.  
  84. /* create a new function module and open a window for it */
  85. void                                FunctionListNewModule(FunctionListRec* FuncList);
  86.  
  87. /* delete the selected function module */
  88. void                                FunctionListDeleteSelection(FunctionListRec* FuncList);
  89.  
  90. /* delete the explicitly specified function module */
  91. void                                FunctionListDeleteFunction(FunctionListRec* FuncList,
  92.                                             struct FunctionObjectRec* TheFunctionModule);
  93.  
  94. /* the name of a function module has changed, so the name in the scrolling */
  95. /* list must also be changed */
  96. void                                FunctionListFunctionNameChanged(FunctionListRec* FuncList,
  97.                                             struct FunctionObjectRec* TheFunctionModule);
  98.  
  99. /* remove all object code for all function modules */
  100. void                                FunctionListUnbuildAll(FunctionListRec* FuncList);
  101.  
  102. /* build all functions.  returns True if successful. */
  103. MyBoolean                        FunctionListMakeUpToDate(FunctionListRec* FuncList);
  104.  
  105. /* the document's name has changed, so update all windows */
  106. void                                FunctionListGlobalNameChange(FunctionListRec* FuncList,
  107.                                             char* NewFilename);
  108.  
  109. /* read function objects from a file.  returns True if completely successful. */
  110. FileLoadingErrors        FunctionListReadData(FunctionListRec* FuncList,
  111.                                             struct BufferedInputRec* Input);
  112.  
  113. /* write function objects to a file.  returns True if completely successful. */
  114. FileLoadingErrors        FunctionListWriteData(FunctionListRec* FuncList,
  115.                                             struct BufferedOutputRec* Output);
  116.  
  117. /* after a file has been saved, this is called to mark all objects as not modified. */
  118. void                                FunctionListMarkAllObjectsSaved(FunctionListRec* FuncList);
  119.  
  120. /* copy the selected object in the list to the clipboard.  return False if failed. */
  121. MyBoolean                        FunctionListCopyObject(FunctionListRec* FuncList);
  122.  
  123. /* try to paste the clipboard in as a function object.  returns False if it failed */
  124. /* or the clipboard did not contain a function object. */
  125. MyBoolean                        FunctionListPasteObject(FunctionListRec* FuncList);
  126.  
  127. /* try to paste a function object in from a file */
  128. MyBoolean                        FunctionListPasteFromFile(FunctionListRec* FuncList,
  129.                                             struct FileType* File);
  130.  
  131. #endif
  132.